Using ViewPoints for inconsistency management - Software Engineering Journal
نویسندگان
چکیده
Large-scale software development is an evolutionary process. In an evolving specification, multiple development participants often hold multiple inconsistent views on the system being developed, and considerable effort is spent handling recurrent inconsistencies. Detecting and resolving inconsistencies is only part of the problem; a resolved inconsistency might not stay resolved as a specification evolves. Frameworks in which inconsistency is tolerated help by allowing resolution to be delayed. However, the evolution of a specification may affect both resolved and unresolved inconsistencies. A framework is presented and elaborated in which software development knowledge is partitioned into multiple views called Viewpoints. Inconsistencies between Viewpoints are managed by explicitly representing relationships between them, and recording both resolved and unresolved inconsistencies. It is assumed that Viewpoints will often be inconsistent, and so a complete work record is kept, detailing any inconsistencies that have been detected and what actions, if any, have been taken to resolve them. The work record is then used to reason about the effects of subsequent changes to Viewpoints, without constraining the development process. The paper demonstrates how inconsistency management is used as a tool for requirements elicitation and how ViewPoints provide a vehicle for achieving this. Inconsistency is used as a stimulus for eliciting missing information and capturing user-defined relationships that arise between elements of an evolving specification.
منابع مشابه
Using ViewPoints for inconsistency management
Large-scale software development is an evolutionary process. In an evolving specification, multiple development participants often hold multiple, inconsistent views on the system being developed, and considerable effort is spent handling recurrent inconsistencies. Detecting and resolving inconsistencies is only part of the problem: a resolved inconsistency might not stay resolved as a specifica...
متن کاملManaging Process Inconsistency Using Viewpoints
This paper discusses the notion of process inconsistency and suggests that inconsistencies in software processes are inevitable and sometimes desirable. We present an approach to process analysis that helps discover different perceptions of a software process and that supports the discovery of process inconsistencies and process improvements stimulated by these inconsistencies. By analogy with ...
متن کاملTowards Automated Detection and Handling of Inconsistencies in Requirements Engineering
Especially for large projects intending to develop distributed and dynamically evolving software systems the requirements engineering process involves various authorities with different needs and even conflicting views. Thus, detection and handling of inconsistencies is the requirements engineer’s everyday business. Traditionally, consistency and completeness of the requirements documents is re...
متن کاملValidating Inconsistent Requirements Models using Graph-based Abduction
Multiple viewpoints are often used in requirements engineering to facilitate traceability to stakeholders, to structure the requirements process, and to provide richer modeling by incorporating multiple con icting descriptions. Toleration of inconsistency is a key advantage. However, inconsistency introduces considerable extra complexity when reasoning about requirements. This complexity may li...
متن کاملModel Management and Inconsistency in Software Design
The management of inconsistency between multiple viewpoints is a central problem in the design of large software systems. However, many of the formalisms we use in software design cannot handle inconsistent descriptions. This leads to two common reactions: to abandon the formalisms (and use semi-formal or informal design notations) or to repair inconsistent descriptions at all costs, if necessa...
متن کامل